package com.pxst.fo.sys.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 代付子订单（fo110）
 * @TableName sys_fo_order_child
 */
@TableName(value ="sys_fo_order_child")
@Data
public class SysFoOrderChildEntity implements Serializable {
    /**
     *
     */
    @TableId
    private Long id;

    /**
     * 代付主订单ID
     */
    private Long foOrderMainId;

    /**
     * 过往子代付ID
     */
    private Long preFoOrderChildId;

    /**
     * 系统银行卡信息ID
     */
    private Long fromBankCardId;

    /**
     * 第三方支付配置ID
     */
    private Long thirdPartyConfigId;

    /**
     * 交易种类
     */
    private Integer txnMode;

    /**
     * 用户发起金额
     */
    private BigDecimal requestAmount;

    /**
     * 实际作用金额
     */
    private BigDecimal paidAmount;

    /**
     * 系统手续费
     */
    private BigDecimal rate;

    /**
     * 银行手续费
     */
    private BigDecimal bankFee;

    /**
     * 第三方代付银行手续费 壹支付承担
     */
    private BigDecimal tpiBankFee;

    /**
     * 余额 (from)
     */
    private BigDecimal balance;

    /**
     * 交易前余额 (from)
     */
    private BigDecimal preBalance;

    /**
     * 讯银余额 (from)
     */
    private BigDecimal balanceXy;

    /**
     * 讯银交易前余额 (from)
     */
    private BigDecimal preBalanceXy;

    /**
     * 商户钱包余额
     */
    private BigDecimal merchantWalletBalance;

    /**
     * 币种
     */
    private String currency;

    /**
     * 讯银步骤
     */
    private String step;

    /**
     * 执行次数
     */
    private Integer retryTimes;

    /**
     * 是否点选过按钮
     */
    private Integer isPressButton;

    /**
     * 讯银回传状态 1.Pending–等待机器人跑 2.Processing–机器人正在跑 3.Completed–成功交易 4.Manual process–失败后的手动操作 人工可操作成成功或失败（如果交易试成功的 5.Failed–失败. 不可更改状态 BS200
     */
    private Integer status;

    /**
     * 手动操作状态: BS200 1 Uploaded(成功 0 Unknown Error After Otp(失败)
     */
    private Integer action;

    /**
     * 备注
     */
    private String message;

    /**
     * 我们的单号
     */
    private String commandId;

    /**
     * 银行对账单ID
     */
    private Long bankBillId;

    /**
     * OTP发起时间
     */
    private Date optStartTime;

    /**
     * OTP倒数时间
     */
    private Integer otptimer;

    /**
     * ref_code
     */
    private String refCode;

    /**
     * bankreferenceno
     */
    private String bankReferenceNo;

    /**
     * 状态0：未送出过1：已送出过
     */
    private Integer isRefCode;

    /**
     * 是否手动添加  1.是
     */
    private Integer isEntry;

    /**
     * VND OTP
     */
    private String vndOtp;

    /**
     * VND 出款方式
     */
    private String vndPaymentMethod;

    /**
     * postscript
     */
    private String postscript;

    /**
     * 备注1
     */
    private String note;

    /**
     * U盾token input
     */
    private String tokenInput;

    /**
     * xy_to_man
     */
    private String xyToMan;

    /**
     * XY备註
     */
    private String description;

    /**
     * 当地创建时间
     */
    private Date localCreatedAt;

    /**
     * 当地修改时间
     */
    private Date localUpdatedAt;

    /**
     * vpn信息ID
     */
    private Long vpnId;

    /**
     * alt_vpn_id
     */
    private Long altVpnId;

    /**
     * 回到市场次数
     */
    private Integer isLateTimes;

    /**
     * 异常单 0.非异常,1.异常,2.已解决
     */
    private Integer isWeird;

    /**
     * 外部描述
     */
    private String externalDescription;

    /**
     * 催单 0.无动作,1.进行催单
     */
    private Integer isUrgent;

    /**
     * 自身返点
     */
    private BigDecimal keepPoint;

    /**
     * 上级返点
     */
    private BigDecimal superiorKeepPoint;

    /**
     * 冻结黑马币
     */
    private BigDecimal frozenAvailableBalance;

    /**
     * 冻结保证金
     */
    private BigDecimal frozenGuaranteeBalance;

    /**
     * 重新整理点击次数
     */
    private Integer runmonNumber;

    /**
     * 创建人
     */
    private String creator;

    /**
     * 创建时间
     */
    private Date createdAt;

    /**
     * 更新人
     */
    private String updater;

    /**
     * 更新时间
     */
    private Date updatedAt;
}
